K8S 1.26 升級 1.27 的項目比較沒有大的更動,以下節錄幾點
kubeAPIQPS
增加為 50
Kubernetes 1.27
中的 kubelet
會將預設的 kubeAPIQPS
增加為 50
,並將 kubeAPIBurst
增加為 100
。修改後的預設值可確保 kubelet
能有效管理增加的工作負載。因此,Pod
啟動速度更快,且叢集作業更有效率
我們先來看看官方介紹:the component that runs on all of the machines in your cluster and does things like starting pods and containers
可以得知他是一個組件,並且在每個 node 上都有。並且專門負責告知 node 資訊、管理 pods 跟 containers
kubeAPIQPS
kubeAPIQPS
的值表示每秒鐘允許的最大查詢數(QPS)
kubelet --kube-api-qps=50
是 Kubernetes 配置中的一個參數,用於控制 kubelet 與 Kubernetes API 服務器之間的請求速率。這在大型集群或高負載環境中尤為重要,因為它可以避免 kubelet 向 API 服務器發送過多請求,從而保護 API 服務器避免過載。總之,kubeAPIQPS
可以幫助您管理 kubelet 與 Kubernetes API 服務器之間的請求速率,以防止 API 服務器變得過載。kubelet 為了提高 Pod 起動性能,將默認值提高。還有以下原因
volume mount timeout
--container-runtime
移除在 Kubernetes 集群中,--container-runtime
參數用於設定 kubelet
使用哪種容器運行時來啟動和管理容器。kubelet
是負責在每個集群節點上運行容器並確保服務正常運行的 Kubernetes 組件。
以下是一些可能需要設置 --container-runtime
參數的情況:
-container-runtime
來指定。-container-runtime
來設定不同的運行時。-container-runtime
來手動指定所需的容器運行時。kubelet
的 --container-runtime
參數已被移除。自 1.24 版本以來,Amazon EKS 的默認容器運行時已經是 containerd,這消除了指定容器運行時的需要。
從 Amazon EKS 1.27 版本開始,如果在啟動腳本中傳遞了 --container-runtime
參數,則會被忽略。這意味著,即使您將該參數添加到腳本中,系統也不會考慮其影響。
為了避免在節點引導過程中出現錯誤,您應該停止向 --kubelet-extra-args
傳遞 --container-runtime
參數。這樣可以確保節點引導過程正常進行,而不會因為指定了不再需要的 --container-runtime
參數而出錯。
我們都知道 deployment,他會針對 container spec 進行部署。StatefulSets 就跟 deployment 一樣,都是在管理應用程式。只是 StatefulSet controller 會為每一個 pod 產生一個固定的識別資訊,不會因為 pod reschedule 後有變動。所以適合穩定網絡身份、持久存儲或順序部署和擴展的應用程序,例如數據庫。****
Pod 使用 PersistentVolumeClaim 來請求儲存空間。PVCs 是與 PersistentVolumes(PVs)相關聯的資源;PVs 提供實際的存儲後端,而 PVCs 則代表對指定大小和訪問模式的存儲需求。
Kubernetes 1.27 可以控制 StatefulSets 的 PersistentVolumeClaims(PVCs)的生命周期。新的 PVC 保留策略允許指定在刪除 StatefulSet 或縮減 StatefulSet 中的副本數量時,根據 StatefulSet 規範模板生成的 PVCs 是自動刪除還是保留。